package sort.basic_sort;

import java.util.Arrays;

/**
 * @author dx
 * @version 1.0
 * @date 2022/4/17 10:46
 * @description:
 * 算法步骤：
 * 1、比较相邻的元素，如果第一个比第二个大，就交换他们两个
 * 2、对每一个相邻元素作同样的工作，从开始第一对到结尾最后一对，这步做完，最后的元素是最大值
 * 3、针对所有的元素重复以上的步骤，除了最后一个
 * 4、持续每次对越来越少的元素重复上面的步骤，直到没有任何一对数字需要比较
 */
public class bubble_sort {

    public static void main(String[] args){
        int [] test = {2,7,1,6,3,2,6,5,9};
        bubbleSort(test);
    }

    public static void bubbleSort(int[] arr){
        for(int i = arr.length-1;i>0;i--){    //每次把最大的数放在最上面
            for (int j=0;j<i;j++){      //从0一直比较到i  j+1一直保持最大值
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                    System.out.println("Sorting: "+ Arrays.toString(arr));
                }
            }
        }
    }
}
